#ifndef __US100_H__
#define __US100_H__

/*
 * #us100()
 * @init_group and @init_pin_num define the init-signal sender
 * @back_group and @back_pin_num define the back-singal reciever
 * the distance will be calculated and store into @retval.
 *
 * @_group, one of { GPIOA, GPIOB, GPIOC, GPIOD, GPIOE }
 * @_pin_num, from 0 to 31
 * @retval is output-param, store the distance, length-util is `cm'
 *
 *
 * get_distance() is the another interface to obtain the distance,
 * but it is not safe to use as it is a static-global-data.
 */

int us100(const int init_group,
        const int init_pin_num,
        const int back_group,
        const int back_pin_num,
        int *retval);

double get_distance(void);

#endif
